<cfcomponent displayname="AbstractCompressor" output="false" hint="A compressor that performs the compression of JS or CSS strings. This is abstract and must be extended by a real compressor implemtation">
	
	<cffunction name="init" access="public" returntype="AbstractCompressor" output="false">
		<cfargument name="javaLoader" type="any" required="false" default="" hint="a JavaLoader instance. If provided, this should be used to load the Java objects; if not provided, Java objects shouldbe instantiated via createObject()" />
		<cfargument name="jarPath" type="string" required="false" default="" hint="path of the directory where the .jar files are located" />
		
		<cfreturn this />
		
	</cffunction>
	
	<cffunction name="compressString" access="package" returnType="string" hint="takes a css/js string and returns a compressed version. Override this method and add some compression code">
		<cfargument name="sInput" type="string" required="true" />
		
		<cfreturn '' />
		
	</cffunction>
	
</cfcomponent>
